package com.itheima.d6_tcp3;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;

// 任务类
public class ServerThread implements Runnable {
    private Socket socket;
    public ServerThread(Socket socket) {
        this.socket = socket;
    }

    @Override
    public void run() {
        try {
            // 3 获取网络中的字节输入流(接受数据),封装成高效的字符输入流
            BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

            // 4 读数据, 读一行数据,读到换行符任务读到一行数据
            // 具备阻塞作用
            while (true) {
                String s = br.readLine();
                // 如果读到了null数据, 说明客户端关闭了
                if (s == null) {
                    // 5 释放资源
                    br.close();
                    socket.close();
                    break;
                }
                System.out.println(s);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
